Systems and methods for utilizing variable length data field storage schemes on physical communication media segments

ABSTRACT

One exemplary embodiment is directed to a segment of physical communication media. The segment comprises a physical communication medium, a connector attached to the physical communication medium, and a storage device configured to store information therein using a self-defining variable length data field scheme (such as a key-length-value triplet).

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional PatentApplication Ser. No. 61/467,736, filed on Mar. 25, 2011, which is herebyincorporated herein by reference.

This application is related to the following:

U.S. Provisional Patent Application Ser. No. 61/467,715, filed on Mar.25, 2011, titled “DOUBLE-BUFFER INSERTION COUNT STORED IN A DEVICEATTACHED TO A PHYSICAL LAYER MEDIUM”, which is hereby incorporatedherein by reference;

U.S. patent application Ser. No. ______, Attorney Docket No.100.1176US01, filed on even date herewith, titled “DOUBLE-BUFFERINSERTION COUNT STORED IN A DEVICE ATTACHED TO A PHYSICAL LAYER MEDIUM”,which is hereby incorporated herein by reference;

U.S. Provisional Patent Application Ser. No. 61/467,725, filed on Mar.25, 2011, titled “DYNAMICALLY DETECTING A DEFECTIVE CONNECTOR AT APORT”, which is hereby incorporated herein by reference;

U.S. patent application Ser. No. ______, Attorney Docket No.100.1177US01, filed on even date herewith, titled “DYNAMICALLY DETECTINGA DEFECTIVE CONNECTOR AT A PORT”, which is hereby incorporated herein byreference;

U.S. Provisional Patent Application Ser. No. 61/467,729, filed on Mar.25, 2011, titled “IDENTIFIER ENCODING SCHEME FOR USE WITH MULTI-PATHCONNECTORS”, which is hereby incorporated herein by reference;

U.S. patent application Ser. No. ______, Attorney Docket No.100.1178US01, filed on even date herewith, titled “IDENTIFIER ENCODINGSCHEME FOR USE WITH MULTI-PATH CONNECTORS”, which is hereby incorporatedherein by reference;

U.S. Provisional Patent Application Ser. No. 61/467,743, filed on Mar.25, 2011, titled “EVENT-MONITORING IN A SYSTEM FOR AUTOMATICALLYOBTAINING AND MANAGING PHYSICAL LAYER INFORMATION USING A RELIABLEPACKET-BASED COMMUNICATION”, which is hereby incorporated herein byreference; and

U.S. patent application Ser. No. ______, Attorney Docket No.100.1181US01, filed on even date herewith, titled “EVENT-MONITORING IN ASYSTEM FOR AUTOMATICALLY OBTAINING AND MANAGING PHYSICAL LAYERINFORMATION USING A RELIABLE PACKET-BASED COMMUNICATION”, which ishereby incorporated herein by reference.

BACKGROUND

Communication networks typically include numerous logical communicationlinks between various items of equipment. Often a single logicalcommunication link is implemented using several pieces of physicalcommunication media. For example, a logical communication link between acomputer and an inter-networking device such as a hub or router can beimplemented as follows. A first cable connects the computer to a jackmounted in a wall. A second cable connects the wall-mounted jack to aport of a patch panel, and a third cable connects the inter-networkingdevice to another port of a patch panel. A “patch cord” cross connectsthe two together. In other words, a single logical communication link isoften implemented using several segments of physical communicationmedia.

A network or enterprise management system (generally referred to here asa “network management system” or “NMS”) is typically aware of thelogical communication links that exist in a network but typically doesnot have information about the specific physical layer media that areused to implement the logical communication links. Indeed, NMS systemstypically do not have the ability to display or otherwise provideinformation about how logical communication links are implemented at thephysical layer level.

Physical layer management (PLM) systems do exist. However, existing PLMsystems are typically designed to facilitate the adding, changing, andremoving of cross connections at a particular patch panel or a set ofpatch panels at a given location. Generally, such PLM systems includefunctionality to track what is connected to each port of a patch panel,trace connections that are made using a patch panel, and provide visualindications to a user at a patch panel. However, such PLM systems aretypically “patch-panel” centric in that they are focused on helping atechnician correctly add, change, or remove cross connections at a patchpanel. Any “intelligence” included in or coupled to the patch panel istypically only designed to facilitate making accurate cross connectionsat the patch panel and troubleshooting related problems (for example, bydetecting whether a patch cord is inserted into a given port and/or bydetermining which ports are coupled to one another using a patch cord).

Moreover, any information that such PLM systems collect is typicallyonly used within the PLM systems. In other words, the collections ofinformation that such PLM systems maintain are logical “islands” thatare not used at the application-layer level by other systems. Thoughsuch PLM systems are sometimes connected to other networks (for example,connected to local area networks or the Internet), such networkconnections are typically only used to enable a user to remotely accessthe PLM systems. That is, a user remotely accesses the PLM-relatedapplication-layer functionality that resides in the PLM system itselfusing the external network connection but external systems or networkstypically do not themselves include any application-layer functionalitythat makes use of any of the physical-layer-related information thatresides in the PLM system.

SUMMARY

One exemplary embodiment is directed to a segment of physicalcommunication media. The segment comprises a physical communicationmedium, a connector attached to the physical communication medium, and astorage device configured to store information therein using aself-defining variable length data field scheme (such as akey-length-value triplet).

DRAWINGS

FIG. 1 is a block diagram of one exemplary embodiment of a system thatincludes physical layer information (PLI) functionality as well asphysical layer management (PLM) functionality.

FIG. 2 is a block diagram of one high-level embodiment of a port andmedia interface that are suitable for use in the system of FIG. 1.

FIGS. 3A-3B are diagrams illustrating exemplary embodiments of patchcords.

FIG. 4 is a flow chart illustrating an exemplary embodiment of a methodof reading information stored on or in a segment of physicalcommunication media.

FIGS. 5A-5C illustrate one example implementation of a key-length-valuescheme suitable for use in the system of FIG. 2.

FIG. 6 illustrates one example of how data is stored on a storage deviceusing the key-length-value scheme described above in connection withFIGS. 5A-5C.

DETAILED DESCRIPTION

FIG. 1 is a block diagram of one embodiment of a system 100 thatincludes physical layer information (PLI) functionality as well asphysical layer management (PLM) functionality. The system 100 comprisesa plurality of connector assemblies 102, where each connector assembly102 comprises one or more ports 104. In general, the connectorassemblies 102 are used to attach segments of physical communicationmedia to one another.

Each segment of physical communication media is attached to a respectiveport 104. Each port 104 is used to connect two or more segments ofphysical communication media to one another (for example, to implement aportion of a logical communication link). Examples of connectorassemblies 102 include, for example, rack-mounted connector assemblies(such as patch panels, distribution units, and media converters forfiber and copper physical communication media), wall-mounted connectorassemblies (such as boxes, jacks, outlets, and media converters forfiber and copper physical communication media), and inter-networkingdevices (such as switches, routers, hubs, repeaters, gateways, andaccess points).

At least some of the connector assemblies 102 are designed for use withsegments of physical communication media that have identifier andattribute information stored in or on them. The identifier and attributeinformation is stored in or on the segment of physical communicationmedia in a manner that enables the stored information, when the segmentis attached to a port 104, to be read by a programmable processor 106associated with the connector assembly 102. Examples of information thatcan be stored in or on a segment of physical communication mediainclude, without limitation, an identifier that uniquely identifies thatparticular segment of physical communication media (similar to anETHERNET Media Access Control (MAC) address but associated with thephysical communication media and/or connector attached to the physicalcommunication media), a part number, a plug or other connector type, acable or fiber type and length, a serial number, a cable polarity, adate of manufacture, a manufacturing lot number, information about oneor more visual attributes of physical communication media or a connectorattached to the physical communication media (such as information aboutthe color or shape of the physical communication media or connector oran image of the physical communication media or connector), and otherinformation used by an Enterprise Resource Planning (ERP) system orinventory control system. In other embodiments, alternate or additionaldata is stored in or on the media segments. For example, testing, mediaquality, or performance information can be stored in or on the segmentof physical communication media. The testing, media quality, orperformance information, for example, can be the results of testing thatis performed when a particular segment of media is manufactured.

Also, as noted below, in some embodiments, the information stored in oron the segment of physical communication media can be updated. Forexample, the information stored in or on the segment of physicalcommunication media can be updated to include the results of testingthat is performed when a segment of physical media is installed orotherwise checked. In another example, such testing information issupplied to an aggregation point 120 and stored in a data storemaintained by the aggregation point 120 (both of which are describedbelow). In another example, the information stored in or on the segmentof physical communication media includes a count of the number of timesthat a connector (not shown) attached to a segment of physicalcommunication media has been inserted into port 104. In such an example,the count stored in or on the segment of physical communication media isupdated each time the connector is inserted into port 104. Thisinsertion count value can be used, for example, for warranty purposes(for example, to determine if the connector has been inserted more thanthe number of times specified in the warranty) or for security purposes(for example, to detect unauthorized insertions of the physicalcommunication media).

In the particular embodiment shown in FIG. 1, each of the ports 104 ofthe connector assemblies 102 comprises a respective media interface 108via which the respective programmable processor 106 is able to determineif a physical communication media segment is attached to that port 104and, if one is, to read the identifier and attribute information storedin or on the attached segment (if such information is stored therein orthereon). The programmable processor 106 associated with each connectorassembly 102 is communicatively coupled to each of the media interfaces108 using a suitable bus or other interconnect (not shown).

In the particular embodiment shown in FIG. 1, four exemplary types ofconnector assembly configurations are shown. In the first connectorassembly configuration 110 shown in FIG. 1, each connector assembly 102includes its own respective programmable processor 106 and its ownrespective network interface 116 that is used to communicatively couplethat connector assembly 102 to an Internet Protocol (IP) network 118.

In the second type of connector assembly configuration 112, a group ofconnector assemblies 102 are physically located near each other (forexample, in a bay or equipment closet). Each of the connector assemblies102 in the group includes its own respective programmable processor 106.However, in the second connector assembly configuration 112, some of theconnector assemblies 102 (referred to here as “interfaced connectorassemblies”) include their own respective network interfaces 116 whilesome of the connector assemblies 102 (referred to here as“non-interfaced connector assemblies”) do not. The non-interfacedconnector assemblies 102 are communicatively coupled to one or more ofthe interfaced connector assemblies 102 in the group via localconnections. In this way, the non-interfaced connector assemblies 102are communicatively coupled to the IP network 118 via the networkinterface 116 included in one or more of the interfaced connectorassemblies 102 in the group. In the second type of connector assemblyconfiguration 112, the total number of network interfaces 116 used tocouple the connector assemblies 102 to the IP network 118 can bereduced. Moreover, in the particular embodiment shown in FIG. 1, thenon-interfaced connector assemblies 102 are connected to the interfacedconnector assembly 102 using a daisy chain topology (though othertopologies can be used in other implementations and embodiments).

In the third type of connector assembly configuration 114, a group ofconnector assemblies 102 are physically located near each other (forexample, within a bay or equipment closet). Some of the connectorassemblies 102 in the group (also referred to here as “master” connectorassemblies 102) include both their own programmable processors 106 andnetwork interfaces 116, while some of the connector assemblies 102 (alsoreferred to here as “slave” connector assemblies 102) do not includetheir own programmable processors 106 or network interfaces 116. Each ofthe slave connector assemblies 102 is communicatively coupled to one ormore of the master connector assemblies 102 in the group via one or morelocal connections. The programmable processor 106 in each of the masterconnector assemblies 102 is able to carry out the processing describedbelow for both the master connector assembly 102 of which it is a partand any slave connector assemblies 102 to which the master connectorassembly 102 is connected via the local connections. As a result, thecost associated with the slave connector assemblies 102 can be reduced.In the particular embodiment shown in FIG. 1, the slave connectorassemblies 102 are connected to a master connector assembly 102 in astar topology (though other topologies can be used in otherimplementations and embodiments).

Each programmable processor 106 is configured to execute software orfirmware 190 (shown in FIG. 2) that causes the programmable processor106 to carry out various functions described below. The software 190comprises program instructions that are stored (or otherwise embodied)on an appropriate non-transitory storage medium or media 192 (such asflash or other non-volatile memory, magnetic disc drives, and/or opticaldisc drives). At least a portion of the program instructions are readfrom the storage medium 192 by the programmable processor 106 forexecution thereby. The storage medium 192 on or in which the programinstructions are embodied is also referred to here as a “programproduct”. Although the storage medium 192 is shown in FIG. 2 as beingincluded in, and local to, the connector assembly 102, it is to beunderstood that remote storage media (for example, storage media that isaccessible over a network or communication link) and/or removable mediacan also be used. Each connector assembly 102 also includes suitablememory (not shown) that is coupled to the programmable processor 106 forstoring program instructions and data. In general, the programmableprocessor 106 (and the software 190 executing thereon) determines if aphysical communication media segment is attached to a port 104 withwhich that processor 106 is associated and, if one is, to read theidentifier and attribute information stored in or on the attachedphysical communication media segment (if the segment includes suchinformation stored therein or thereon) using the associated mediainterface 108.

As shown in FIG. 1, in the first, second, and third configurations 110,112, and 114, each programmable processor 106 is also configured tocommunicate physical layer information to devices that are coupled tothe IP network 118. The physical layer information (PLI) includesinformation about the connector assemblies 102 associated with thatprogrammable processor 106 (also referred to here as “deviceinformation”) as well as information about any segments of physicalmedia attached to the ports 104 of those connector assemblies 102 (alsoreferred to here as “media information”) The device informationincludes, for example, an identifier for each connector assembly, a typeidentifier that identifies the connector assembly's type, and portpriority information that associates a priority level with each port.The media information includes identity and attribute information thatthe programmable processor 106 has read from attached physical mediasegments that have identifier and attribute information stored in or onit. The media information may also include information about physicalcommunication media that does not have identifier or attributeinformation stored in or on it. This latter type of media informationcan be manually input at the time the associated physical media segmentsare attached to the connector assembly 102 (for example, using amanagement application executing on the programmable processor 106 thatenables a user to configure and monitor the connector assembly 102).

In the fourth type of connector assembly configuration 115, a group ofconnector assemblies 102 are housed within a common chassis or otherenclosure. Each of the connector assemblies 102 in the configuration 115includes their own programmable processors 106. In the context of thisconfiguration 115, the programmable processors 106 in each of theconnector assemblies are “slave” processors 106. Each of the slaveprogrammable processor 106 is also communicatively coupled to a common“master” programmable processor 117 (for example, over a backplaneincluded in the chassis or enclosure). The master programmable processor117 is coupled to a network interface 116 that is used tocommunicatively couple the master programmable processor 117 to the IPnetwork 118. In this configuration 115, each slave programmableprocessor 106 is configured to determine if physical communication mediasegments are attached to its port 104 and to read the identifier andattribute information stored in or on the attached physicalcommunication media segments (if the attached segments have suchinformation stored therein or thereon) using the associated mediainterfaces 108. This information is communicated from the slaveprogrammable processor 106 in each of the connector assemblies 102 inthe chassis to the master processor 117. The master processor 117 isconfigured to handle the processing associated with communicating thephysical layer information read from by the slave processors 106 todevices that are coupled to the IP network 118.

The system 100 includes functionality that enables the physical layerinformation that the connector assemblies 102 capture to be used byapplication-layer functionality outside of the traditionalphysical-layer management application domain. That is, the physicallayer information is not retained in a PLM “island” used only for PLMpurposes but is instead made available to other applications. In theparticular embodiment shown in FIG. 1, the system 100 includes anaggregation point 120 that is communicatively coupled to the connectorassemblies 102 via the IP network 118.

The aggregation point 120 includes functionality that obtains physicallayer information from the connector assemblies 102 (and other devices)and stores the physical layer information in a data store.

The aggregation point 120 can be used to receive physical layerinformation from various types of connector assemblies 106 that havefunctionality for automatically reading information stored in or on thesegment of physical communication media. Examples of such connectorassemblies 106 are noted above. Also, the aggregation point 120 andaggregation functionality 124 can also be used to receive physical layerinformation from other types of devices that have functionality forautomatically reading information stored in or on the segment ofphysical communication media. Examples of such devices include end-userdevices—such as computers, peripherals (such as printers, copiers,storage devices, and scanners), and IP telephones—that includefunctionality for automatically reading information stored in or on thesegment of physical communication media.

The aggregation point 120 can also be used to obtain other types ofphysical layer information. For example, in this embodiment, theaggregation point 120 also obtains information about physicalcommunication media segments that is not otherwise automaticallycommunicated to an aggregation point 120. One example of suchinformation is information about non-connectorized physicalcommunication media segments that do not otherwise have informationstored in or on them that are attached to a connector assembly(including, for example, information indicating which ports of thedevices are connected to which ports of other devices in the network aswell as media information about the segment). Another example of suchinformation is information about physical communication media segmentsthat are connected to devices that are not able to read mediainformation that is stored in or on the media segments that are attachedto their ports and/or that are not able to communicate such informationto the aggregation point 120 (for example, because such devices do notinclude such functionality, because such devices are used with mediasegments that do not have media information stored in or on them, and/orbecause bandwidth is not available for communicating such information tothe aggregation point 120). In this example, the information caninclude, for example, information about the devices themselves (such asthe devices' MAC addresses and IP addresses if assigned to suchdevices), information indicating which ports of the devices areconnected to which ports of other devices in the network (for example,other connector assemblies), and information about the physical mediaattached to the ports of the devices. This information can be providedto the aggregation point 120, for example, by manually entering suchinformation into a file (such as a spreadsheet) and then uploading thefile to the aggregation point 120 (for example, using a web browser) inconnection with the initial installation of each of the various items.Such information can also, for example, be directly entered using a userinterface provided by the aggregation point 120 (for example, using aweb browser).

The aggregation point 120 can also obtain information about the layoutof the building or buildings in which the network is deployed, as wellas information indicating where each connector assembly 102, physicalmedia segment, and inter-networking device is located within thebuilding. This information can be, for example, manually entered andverified (for example, using a web browser) in connection with theinitial installation of each of the various items. In oneimplementation, such location information includes an X, Y, and Zlocation for each port or other termination point for each physicalcommunication media segment (for example, X, Y, and Z locationinformation of the type specified in the ANSI/TIA/EIA 606-A Standard(Administration Standard For The Commercial TelecommunicationsInfrastructure)).

The aggregation point 120 can obtain and maintain testing, mediaquality, or performance information relating to the various segments ofphysical communication media that exist in the network. The testing,media quality, or performance information, for example, can be resultsof testing that is performed when a particular segment of media ismanufactured and/or when testing is performed when a particular segmentof media is installed or otherwise checked.

The aggregation point 120 also includes functionality that provides aninterface for external devices or entities to access the physical layerinformation maintained by the aggregation point 120. This access caninclude retrieving information from the aggregation point 120 as well assupplying information to the aggregation point 120. In this embodiment,the aggregation point 120 is implemented as “middleware” that is able toprovide such external devices and entities with transparent andconvenient access to the PLI maintained by the access point 120. Becausethe aggregation point 120 aggregates PLI from the relevant devices onthe IP network 118 and provides external devices and entities withaccess to such PLI, the external devices and entities do not need toindividually interact with all of the devices in the IP network 118 thatprovide PLI, nor do such devices need to have the capacity to respond torequests from such external devices and entities.

The aggregation point 120, in the embodiment shown in FIG. 1, implementsan application programming interface (API) by which application-layerfunctionality can gain access to the physical layer informationmaintained by the aggregation point 120 using a software development kit(SDK) that describes and documents the API. Also, in those embodimentswhere the connector assemblies 102 include one or more light emittingdiodes (LEDs) (for example, where each port 104 has an associated LED),the API and aggregation point 120 can include functionality that enablesapplication-layer functionality to change the state of such LEDs usingthe API.

For example, as shown in FIG. 1, a network management system (NMS) 130includes physical layer information (PLI) functionality 132 that isconfigured to retrieve physical layer information from the aggregationpoint 120 and provide it to the other parts of the NMS 130 for usethereby. The NMS 130 uses the retrieved physical layer information toperform one or more network management functions (for example, asdescribed below). In one implementation of the embodiment shown in FIG.1, the PLI functionality 132 of the NMS 130 retrieves physical layerinformation from the aggregation point 120 using the API implemented bythe aggregation point 120. The NMS 130 communicates with the aggregationpoint 120 over the IP network 118.

As shown in FIG. 1, an application 134 executing on a computer 136 canalso use the API implemented by the aggregation point 120 to access thePLI information maintained by the aggregation point 120 (for example, toretrieve such information from the aggregation point 120 and/or tosupply such information to the aggregation point 120). The computer 136is coupled to the IP network 118 and accesses the aggregation point 120over the IP network 118.

In the embodiment shown in FIG. 1, one or more inter-networking devices138 used to implement the IP network 118 include physical layerinformation (PLI) functionality 140. The PLI functionality 140 of theinter-networking device 138 is configured to retrieve physical layerinformation from the aggregation point 120 and use the retrievedphysical layer information to perform one or more inter-networkingfunctions. Examples of inter-networking functions include Layer 1, Layer2, and Layer 3 (of the OSI model) inter-networking functions such as therouting, switching, repeating, bridging, and grooming of communicationtraffic that is received at the inter-networking device. In oneimplementation of such an embodiment, the PLI functionality 140 uses theAPI implemented by the aggregation point 120 to communicate with theaggregation point 120.

The PLI functionality 140 included in the inter-networking device 138can also be used to capture physical layer information associated withthe inter-network device 138 and the physical communication mediaattached to it and communicate the captured physical layer informationto the aggregation point 120. Such information can be provided to theaggregation point 120 using the API or by using the protocols that areused to communicate with the connector assemblies 102.

The aggregation point 120 can be implemented on a standalone networknode (for example, a standalone computer running appropriate software)or can be integrated along with other network functionality (forexample, integrated with an element management system or networkmanagement system or other network server or network element). Moreover,the functionality of the aggregation point 120 can be distributed acrossmany nodes and devices in the network and/or implemented, for example,in a hierarchical manner (for example, with many levels of aggregationpoints).

Moreover, the aggregation point 120 and the connector assemblies 102 areconfigured so that the aggregation point 120 can automatically discoverand connect with devices that provide PLI to an aggregation point 120(such as the connector assemblies 102 and inter-network device 138) thatare on the network 118. In this way, when devices that are able toprovide PLI to an aggregation point 120 (such as a connector assembly102 or an inter-networking device 138) are coupled to the IP network118, an aggregation point 120 is able to automatically discover theconnector assembly 102 and start aggregating physical layer informationfor that connector assembly 102 without requiring the person installingthe connector assembly 102 to have knowledge of the aggregation points120 that are on the IP network 118. Similarly, when an aggregation point120 is coupled to the IP network 118, the aggregation point 120 is ableto automatically discover and interact with devices that are capable ofproviding PLI to an aggregation point without requiring the personinstalling the aggregation point 120 to have knowledge of the devicesthat are on the IP network 118. Thus, the physical-layer informationresources described here can be easily integrated into the IP network118.

The IP network 118 can include one or more local area networks and/orwide area networks (including for example the Internet). As a result,the aggregation point 120, NMS 130, and computer 136 need not be locatedat the same site as each other or at the same site as the connectorassemblies 102 or the inter-networking devices 138.

Various conventional IP networking techniques can be used in deployingthe system 100 of FIG. 1. For example, conventional security protocolscan be used to secure communications if they are communicated over apublic or otherwise unsecure communication channel (such as the Internetor over a wireless communication link).

In one implementation of the embodiment shown in FIG. 1, each connectorassembly 102, each port 104 of each connector assembly 102, and eachmedia segment is individually addressable. Where IP addresses are usedto individually address each connector assembly 102, a virtual privatenetwork (VPN) dedicated for use with the various connector assemblies102 can be used to segregate the IP addresses used for the connectorassemblies 102 from the main IP address space that is used in the IPnetwork 118.

Also, power can be supplied to the connector assemblies 102 usingconventional “Power over Ethernet” techniques specified in the IEEE802.3af standard, which is hereby incorporated herein by reference. Insuch an implementation, a power hub 142 or other power supplying device(located near or incorporated into an inter-networking device that iscoupled to each connector assembly 102) injects DC power onto one ormore of the wires (also referred to here as the “power wires”) includedin the copper twisted-pair cable used to connect each connector assembly102 to the associated inter-networking device. The interface 116 in theconnector assembly 102 picks the injected DC power off of the powerwires and uses the picked-off power to power the active components ofthat connector assembly 102. In the second and third connector assemblyconfigurations 112 and 114, some of the connector assemblies 102 are notdirectly connected to the IP network 118 and, therefore, are unable toreceive power directly from the power wires. These connector assemblies102 receive power from the connector assemblies 102 that are directlyconnected to the IP network 118 via the local connections thatcommunicatively couple such connector assemblies 102 to one another. Inthe fourth configuration 115, the interface 116 picks the injected DCpower off of the power wires and supplies power to the master processor117 and each of the slave processors 106 over the backplane.

In the particular embodiment shown in FIG. 1, the system 100 alsosupports conventional physical layer management (PLM) operations such asthe tracking of moves, adds, and changes of the segments of physicalmedia that are attached to the ports 104 of the connector assemblies 102and providing assistance with carrying out moves, adds, and changes. PLIprovided by the aggregation point 120 can be used to improve uponconventional “guided MAC” processes. For example, information about thelocation of the port 104 and the visual appearance (for example, thecolor or shape) of the relevant physical media segment (or connectorattached thereto) can be communicated to a technician to assist thetechnician in carrying out a move, add, or change. This information canbe communicated to a computer or smartphone used by the technician.Moreover, the PLI functionality that resides in the system 100 can alsobe used to verify that a particular MAC was properly carried out bychecking that the expected physical media segment is located in theexpected port 104. If that is not the case, an alert can be sent to thetechnician so that the technician can correct the issue.

The PLM functionality included in the system 100 can also supportconventional techniques for guiding the technician in carrying out a MAC(for example, by illuminating one or more light emitting diodes (LEDs)to direct a technician to a particular connector assembly 102 and/or toa particular port 104 or by displaying messages on a liquid crystaldisplay (LCD) included on or near the connector assemblies 102.

Other PLM functions include keeping historical logs about the mediaconnected to the connector assembly. In the embodiment shown in FIG. 1,the aggregation point 120 includes PLM functionality 144 that implementssuch PLM functions. The PLM functionality 144 does this using thephysical layer information that is maintained at the aggregation point120.

The IP network 118 is typically implemented using one or moreinter-networking devices. As noted above, an inter-networking device isa type of connector assembly (and a particular implementation of aninter-networking device 138 is referenced separately in FIG. 1 for easeof explanation only). Generally, an inter-networking device can beconfigured to read media information that is stored in or on thesegments of physical media that are attached to its ports and tocommunicate the media information it reads from the attached segments ofmedia (as well as information about the inter-networking device itself)to an aggregation point 120 like any other connector assembly describedhere.

In addition to connector assemblies 102, the techniques described herefor reading media information stored in or on a segment of physicalcommunication media can be used in one or more end nodes of the IPnetwork 118. For example, computers (such as, laptops, servers, desktopcomputers, or special-purpose computing devices such as IP telephones,IP multi-media appliances, and storage devices) can be configured toread media information that is stored in or on the segments of physicalcommunication media that are attached to their ports and to communicatethe media information they read from the attached segments of media (aswell as information about the devices themselves) to an aggregationpoint 120 as described here.

In one implementation of the system 100 shown in FIG. 1, the ports 104of each connector assembly 102 are used to implement the IP network 118over which each connector assembly 102 communicates physical layerinformation associated with that connector assembly 102. In such animplementation, such physical layer information is communicated over theIP network 118 just like any other data that is communicated over the IPnetwork 118. As noted below, the media interface 108 determines if aphysical communication media segment is attached to the correspondingport 104 and, if one is, reads the identifier and attribute informationstored in or on the attached segment (if such information is storedtherein or thereon) without affecting the normal data signals that passthrough that port 104. Indeed, such physical layer information mayactually pass through one or more of the ports 104 of connectorassemblies 102 in the course of being communicated to and/or from aconnector assembly 102, aggregation point 150, network management system130, and/or computer 136. By using the IP network 118 to communicatephysical layer information pertaining to it, a separate network need notbe provided and maintained in order to communicate such physical-layerinformation. However, in other implementations and embodiments, thephysical layer information described above is communicated using anetwork that is separate from the network to which such physical layerinformation pertains.

FIG. 2 is a block diagram of one high-level embodiment of a port 104 andmedia interface 108 that are suitable for use in the system 100 of FIG.1.

Each port 104 comprises a first attachment point 206 and a secondattachment point 208. The first attachment point 206 is used to attach afirst segment of physical communication media 210 to the port 104, andthe second attachment point 208 is used to attach a second segment ofphysical communication media 212 to the port 104.

In the particular embodiment shown in FIG. 2, the first attachment point206 is located near the rear of the connector assembly. As aconsequence, the first attachment point 206 and the first segment ofphysical media 210 attached thereto are also referred to here as the“rear attachment point” 206 and the “rear media segment” 210,respectively. Also, in this embodiment, the rear attachment point 206 isconfigured to attach the rear media segment 210 to the port 104 in asemi-permanent manner. As used herein, a semi-permanent attachment isone that is designed to be changed relatively infrequently, if ever.This is also referred to sometimes as a “one-time” connection. Examplesof suitable rear connectors 206 include punch-down blocks (in the caseof copper physical media) and fiber adapters, fiber splice points, andfiber termination points (in the case of optical physical media).

In the embodiment shown in FIG. 2, the second attachment point 208 islocated near the front of the connector assembly 102. As a consequence,the second attachment point 208 and the second segment of physical media212 are also referred to here as the “front attachment point” 208 andthe “front media segment” 212, respectively. In the embodiment shown inFIG. 2, the front attachment point 208 for each port 104 is designed foruse with “connectorized” front media segments 212 that have identifierand attribute information stored in or on them. As used herein, a“connectorized” media segment is a segment of physical communicationmedia that includes a connector 214 at at least one end of the segment.The front attachment point 208 is implemented using a suitable connectoror adapter that mates with the corresponding connector 214 on the end ofthe front media segment 212. The connector 214 is used to facilitate theeasy and repeated attachment and unattachment of the front media segment212 to the port 104. Examples of connectorized media segments includeCAT-5, 6, and 7 twisted-pair cables having modular connectors or plugsattached to both ends (in which case, the front connectors areimplemented using compatible modular jacks) or optical cables having SC,LC, FC, LX.5, MTP, or MPO connectors (in which case, the frontconnectors are implemented using compatible SC, LC, FC, LX.5, MTP, orMPO connectors or adapters). The techniques described here can be usedwith other types of connectors including, for example, BNC connectors, Fconnectors, DSX jacks and plugs, bantam jacks and plugs, and MPO and MTPmulti-fiber connectors and adapters.

Each port 104 communicatively couples the respective rear attachmentpoint 206 to the respective front attachment point 208. As a result, arear media segment 210 attached to the respective rear attachment point206 is communicatively coupled to any front media segment 212 attachedto the respective front attachment point 208. In one implementation,each port 104 is designed for use with a rear media segment 210 and afront media segment 212 that comprise the same type of physicalcommunication media, in which case each port 104 communicatively couplesany rear media segment 210 attached to the respective rear attachmentpoint 206 to any front media segment 212 attached to the respectivefront attachment point 208 at the physical layer level without any mediaconversion. In other implementations, each port 104 communicativelycouples any rear media segment 210 attached to the respective rearattachment point 206 to any front media segment 212 attached to therespective front attachment point 208 in other ways (for example, usinga media converter if the rear media segment 210 and the front mediasegment 212 comprise different types of physical communication media).

In the exemplary embodiment shown in FIG. 2, the port 104 is configuredfor use with front media segments 212 that include a storage device 216in which the media information for that media segment 212 is stored. Thestorage device 216 includes a storage device interface 218 that, whenthe corresponding connector 214 is inserted into (or otherwise attachedto) a front attachment point 208 of the port 104, communicativelycouples the storage device 216 to a corresponding media interface 108 sothat the associated programmable processor 106 can read the informationstored in the storage device 216. In one implementation of theembodiment shown in FIG. 2, each connector 214 itself houses the storagedevice 216. In another implementation of such an embodiment, the storagedevice 216 is housed within a housing that is separate from theconnector 214. In such an implementation, the housing is configured sothat it can be snapped onto the media segment 212 or the connector 214,with the storage device interface 218 positioned relative to theconnector 214 so that the storage device interface 218 will properlymate with the media interface 108 when the connector 214 is insertedinto (or otherwise attached to) the front attachment point 208. Althoughin the exemplary embodiment shown in FIG. 2 only the front mediasegments 212 include storage devices 216, it is to be understood that inother embodiments connector assemblies and/or other devices areconfigured to read storage devices that are attached to (or otherwiseincluded with) rear media segments 210 and/or any “auxiliary” mediasegments (for example, media segments coupled to the network interface116).

In some implementations, at least some of the information stored in thestorage device 216 can be updated in the field (for example, by havingan associated programmable processor 106 cause additional information tobe written to the storage device 216 or changing or deleting informationthat was previously stored in the storage device 216). For example, insome implementations, some of the information stored in the storagedevice 216 cannot be changed in the field (for example, identifierinformation or manufacturing information) while some of the otherinformation stored in the storage device 216 can be changed in the field(for example, testing, media quality, or performance information). Inother implementations, none of the information stored in the storagedevice 216 can be updated in the field.

Also, the storage device 216 may also include a processor ormicro-controller, in addition to storage for the media information. Inwhich case, the micro-controller included in the storage device 216 canbe used to execute software or firmware that, for example, controls oneor more LEDs attached to the storage device 216. In another example, themicro-controller executes software or firmware that performs anintegrity test on the front media segment 212 (for example, byperforming a capacitance or impedance test on the sheathing or insulatorthat surrounds the front physical communication media segment 212 (whichmay include a metallic foil or metallic filler for such purposes)). Inthe event that a problem with the integrity of the front media segment212 is detected, the micro-controller can communicate that fact to theprogrammable processor 106 associated with the port 104 using thestorage device interface 218. The micro-controller can also be used forother functions.

The port 104, connector 214, storage device 216, and media interface 108are configured so that the information stored in the storage device 216can be read without affecting the communication signals that passthrough the media segments 210 and 212.

Further details regarding system 100 and the port 104 can be found inthe following United States patent applications, all of which are herebyincorporated herein by reference: U.S. Provisional Patent ApplicationSer. No. 61/152,624, filed on Feb. 13, 2009, titled “MANAGEDCONNECTIVITY SYSTEMS AND METHODS” (also referred to here as the “'624Application”); U.S. patent application Ser. No. 12/705,497, filed onFeb. 12, 2010, titled “AGGREGATION OF PHYSICAL LAYER INFORMATION RELATEDTO A NETWORK” (is also referred to here as the '497 Application); U.S.patent application Ser. No. 12/705,501, filed on Feb. 12, 2010, titled“INTER-NETWORKING DEVICES FOR USE WITH PHYSICAL LAYER INFORMATION” (alsoreferred to here as the '501 Application); U.S. patent application Ser.No. 12/705,506, filed on Feb. 12, 2010, titled “NETWORK MANAGEMENTSYSTEMS FOR USE WITH PHYSICAL LAYER INFORMATION” (also referred to hereas the '506 Application); U.S. patent application Ser. No. 12/705,514,filed on Feb. 12, 2010, titled “MANAGED CONNECTIVITY DEVICES, SYSTEMS,AND METHODS” (also referred to here as the '514 Application); U.S.Provisional Patent Application Ser. No. 61/252,395, filed on Oct. 16,2009, titled “MANAGED CONNECTIVITY IN ELECTRICAL SYSTEMS AND METHODSTHEREOF” (also referred to here as the “'395 Application”); U.S.Provisional Patent Application Ser. No. 61/253,208, filed on Oct. 20,2009, titled “ELECTRICAL PLUG FOR MANAGED CONNECTIVITY SYSTEMS” (alsoreferred to here as the “'208 Application”); U.S. Provisional PatentApplication Ser. No. 61/252,964, filed on Oct. 19, 2009, titled“ELECTRICAL PLUG FOR MANAGED CONNECTIVITY SYSTEMS” (also referred tohere as the “'964 Application”); U.S. Provisional Patent ApplicationSer. No. 61/252,386, filed on Oct. 16, 2009, titled “MANAGEDCONNECTIVITY IN FIBER OPTIC SYSTEMS AND METHODS THEREOF” (also referredto here as the “'386 Application”); U.S. Provisional Patent ApplicationSer. No. 61/303,961, filed on Feb. 12, 2010, titled “FIBER PLUGS ANDADAPTERS FOR MANAGED CONNECTIVITY” (the “'961 Application”); and U.S.Provisional Patent Application Ser. No. 61/303,948, filed on Feb. 12,2010, titled “BLADED COMMUNICATIONS SYSTEM” (the “'948 Application”).

FIG. 3A is a diagram illustrating one exemplary embodiment of a frontmedia segment. In the embodiment shown in FIG. 3A, the front mediasegment comprises a “patch cord” 312 that is used to selectivelycross-connect two ports of the same or different patch panels. The patchcord 312 shown in FIG. 3A is suitable for use with an implementation ofa patch panel where the front connectors of the ports are implementedusing modular RJ-45 jacks. The patch cord 312 shown in FIG. 3A comprisesa copper unshielded twisted-pair (UTP) cable 386. The UTP cable 386includes eight conductors arranged in four conductor pairs. The patchcord 312 also comprises two RJ-45 plugs 314, one at each end of thecable 386 (only one of which is shown in FIG. 3A). The RJ-45 plugs 314are designed to be inserted into the RJ-45 modular jacks used as thefront connectors. Each RJ-45 plug 314 comprises a contact portion 388 inwhich eight, generally parallel electrical contacts 390 are positioned.Each of the eight electrical contacts 390 are electrically connected toone of the eight conductors in the UTP cable 386.

Each plug 314 also comprises (or is attached to) a storage device 392(for example, an Electrically Erasable Programmable Read-Only Memory(EEPROM) or other non-volatile memory device). The media informationdescribed above for the patch cord 312 is stored in the storage device392. The storage device 392 includes sufficient storage capacity tostore such information. Each storage device 392 also includes a storagedevice interface 394 that, when the corresponding plug 314 is insertedinto a front connector of a port 304, communicatively couples thestorage device 392 to the corresponding media interface so that theprogrammable processor 320 in the corresponding patch panel 302 can readthe information stored in the storage device 392.

Examples of such a patch cord 312 and plug 314 are described in the '395Application, the '208 Application, and the '964 Application.

FIG. 3B is a diagram illustrating another exemplary embodiment of apatch cord 312′. The patch cord 312′ shown in FIG. 3B is suitable foruse with a fiber patch panel where the front connectors of the ports areimplemented using fiber LC adapters or connectors. The patch cord 312′shown in FIG. 3B comprises an optical cable 386′. The optical cable 386′includes an optical fiber enclosed within a suitable sheathing. Thepatch cord 312′ also comprises two LC connectors 314′, one at each ofthe cable 386′. Each LC connector 314′ is designed to be inserted intoan LC adapter used as the front connector of a port of a fiber patchpanel. Each LC connector 314′ comprises an end portion 388′ at which anoptical connection with the optical fiber in the cable 386′ can beestablished when the LC connector 314′ is inserted in an LC adapter of aport.

Each LC connector 314′ also comprises (or is attached to) a storagedevice 392′ (for example, an Electrically Erasable ProgrammableRead-Only Memory (EEPROM) or other non-volatile memory device). Themedia information described above for the patch cord 312 is stored inthe storage device 392′. The storage device 392′ includes sufficientstorage capacity to store such information. Each storage device 392′also includes a storage device interface 394′ that, when thecorresponding LC connector 314′ is inserted into a front connector of aport, communicatively couples the storage device 392′ to thecorresponding media interface so that the programmable processor in thecorresponding fiber patch panel can read the information stored in thestorage device 392′.

In some implementations of the patch cords 312 and 312′, the storagedevices 392 and 392′ are implemented using a surface-mount EEPROM orother non-volatile memory device. In such implementations, the storagedevice interfaces and media interfaces each comprise four leads—a powerlead, a ground lead, a data lead, and an extra lead that is reserved forfuture use. In one such implementation, an EEPROM that supports a serialprotocol is used, where the serial protocol is used for communicatingover the signal data lead. The four leads of the storage deviceinterfaces come into electrical contact with four corresponding leads ofthe media interface when the corresponding plug or connector is insertedin the corresponding front connector of a port 304. Each storage deviceinterface and media interface are arranged and configured so that theydo not interfere with data communicated over the patch cord. In otherembodiments, other types of interfaces are used. For example, in onesuch alternative embodiment, a two-line interface is used with a simplecharge pump. In other embodiments, additional lines are provided (forexample, for potential future applications).

Examples of such fiber patch cords 312′ and connectors 314′ aredescribed in U.S. Provisional Patent Application Ser. No. 61/252,386,filed on Oct. 16, 2009, titled “MANAGED CONNECTIVITY IN FIBER OPTICSYSTEMS AND METHODS THEREOF” (also referred to here as the “'386Application”), U.S. Provisional Patent Application Ser. No. 61/303,961,filed on Feb. 12, 2010, titled “FIBER PLUGS AND ADAPTERS FOR MANAGEDCONNECTIVITY” (the “'961 Application”), and U.S. Provisional PatentApplication Ser. No. 61/303,948, filed on Feb. 12, 2010, titled “BLADEDCOMMUNICATIONS SYSTEM” (the “'948 Application”). The '386 Application,the '961 Application, and the '948 Application are hereby incorporatedherein by reference.

In some implementations of the patch cords 312 and 312′, each plug 314or connector 314′ itself houses the respective storage device andstorage device interface. In implementations, each storage device andcorresponding storage device interface are housed within a housing thatis separate from the corresponding plug or connector. In suchimplementations, the housing is configured so that it can be snappedonto (or otherwise attached to) the cable or the plug or connector, withthe storage device interface positioned relative to the plug orconnector so that the storage device interface will properly mate withthe relevant media interface when the plug or connector is inserted intothe front connector of the corresponding port.

For ease of explanation, certain processing relating to one or moreconnector assemblies 102 is described here as being performed by theprogrammable processor 106 and the software 190 executing onprogrammable processor 106. However, it is to be understood that all orpart of the processing described here as being performed by processor106 and the software 190 could also be performed by other processors andsoftware associated with each connector assembly 102. For example, allor some of such processing can (but need not) be performed by a “master”processor 117 (and the software executing thereon) where a master-slaveconfiguration 115 is used. Also, a particular connector assembly 102 canalso include more than one processor 106 (for example, where required bythe port density of the connector assembly 102).

Moreover, functionality described here as being implemented in softwareexecuting on a programmable processor can be implemented in other ways.For example, such functionality can be implemented in hardware usingdiscrete hardware, application-specific integrated circuits (ASICS)),programmable devices (such as field-programmable gate arrays (FPGAs) orcomplex programmable logic devices (CPLDs)), and/or combinations of oneor more of the foregoing, and/or combinations of one or more of theforegoing along with software executing on one or more programmableprocessors. For example, the detection of the insertion of a connector214 into a port 104 of a connector assembly 102 and/or the reading ofinformation from any storage device 216 attached to the connector 214can be implemented in hardware (for example, using one or moreprogrammable devices and/or an ASIC) in addition to or instead of beingimplemented as software.

Referring back to the embodiment shown in FIG. 2, information stored onstorage device 216 is encoded using a self-defining variable length datafield scheme. That is, none of the media interfaces 108 nor processor106 (nor the software 190 executing thereon), nor any other component ofsystem 100 need have a priori knowledge of the content, length, or theformat of the data fields (or other units of data) used to storeinformation in or on the segment of communication physical media 212(for example, in the storage device 216). Instead, information about thecontent, length, and/or format of each data field (or other unit ofdata) is determined from data stored in or on segment of physicalcommunication media 212 itself.

For example, in one implementation of the embodiment of FIG. 2,information is stored using key-length-value triplets. In the particularembodiment described herein, the information is stored in a storagedevice 216 that is included or otherwise attached or associated with theconnector 214. That is, each item of information stored in or on thesegment of physical media 212 utilizes a key-length-value triplet schemewherein each key-length-value triplet includes a “key” field thatidentifies the item of information encoded within the triplet, a“length” field that specifies the length of the item of information, anda “value” field that contains the item of information itself (that is,the payload). Using key-length-value triplets eliminates the need foreach item of information stored in the storage device 216 to be the samelength, which allows for more efficient use of the capacity available ofstorage device 216 and other benefits discussed below.

FIG. 4 is a flow chart illustrating generally at 400 one exemplaryembodiment of a method of reading data stored in or on a segment ofphysical communication media. The exemplary embodiment of method 400shown in FIG. 4 can be implemented in the system 100 described above inconnection with FIG. 2. In particular, the processing described here inconnection with method 400 can be implemented by software associatedwith each connector assembly 102 (for example, the software 190). Themethod begins at 402 with determining a field length used to store afirst item of information in a storage device 216 in or on a segment ofphysical communication media by reading data from the storage device216. As described below, the field length information can be encodedwith the item of information as a key-length value triplet or can beencoded in header information stored on the storage device 216.Properties of a key-length value triplet are discussed below. In oneimplementation of the method 400, the segment of physical communicationmedia comprises a physical communication medium or media (for example,one or more twisted-pair cables or optical fibers), at least oneconnector attached to the segment of physical communication media, andat least one storage device 216 attached to the physical communicationmedia or medium and/or the connector, as illustrated in FIGS. 2, 3A and3B. The method proceeds to 404 parsing data read from the storage device216 based on the field length to identify a data field that stores thefirst item of information. In this way, the information stored on thestorage device 216 itself can be used to figure out how to parse theinformation stored on the storage device 216.

FIGS. 5A-5C illustrate one example implementation of a key-length-valuescheme suitable for use in the system 100 described above in connectionwith FIG. 2. Each key-length-value triplet 500 includes a respective keyfield 502, length field 504, and value field 506.

Each item of information to be stored on storage device 216 is assigneda key that identifies that item of information. This key is stored inthe key field 502 of the key-length-value triplet 500 that is used tostore that item of information. In one example, for a given segment ofphysical media 212, a key-length-value triplet with a key of “001”indicates that the triplet stores a serial number (or other uniqueidentifier), a key of “002” indicates a triplet that stores a date ofmanufacture, a key of “022” indicates a triplet that stores an insertioncount value, and so on for each item of information stored on thestorage device 216. The length of the key field 502 itself (for example,8 or 16 bits) is fixed and would be established a priori and known bythe various entities in the system 100 that make use of thekey-length-value triplets.

Following the triplet's key field 502 is the length field 504. Thelength field 504 indicates the number of bits, bytes, or other units ofdata that make up the value field 506 portion of the key-length-valuetriplet 500. The value field 506 follows the length field 504.

In the exemplary embodiment shown in FIGS. 5A-5C, the length field 504comprises a fixed portion 508 having a predetermined length (eight bitsin this example) that would be established a priori and would be knownby the various entities in the system 100 that make use of thekey-length-value triplets. The most-significant bit 510 of the fixedportion 508 of the length field 504 is used to determine how the rest ofthe length field 504 is encoded. In the exemplary embodiment shown inFIGS. 5A-5C, if the most-significant bit 510 of the fixed portion 508 ofthe length field 504 is set to a first predetermined value (for example,a logical value of “1”), then the length field 504 comprises only thefixed portion 508 and the remaining bits 512 of the fixed portion 508 ofthe length field 504 include the length of the value field 506. In thisexample where the fixed portion 508 of the length field 504 comprises 8bits, the remaining bits 512 of the fixed portion 508 of the lengthfield 504 can store values of up to 127, which in this examplecorresponds to up to 127 bytes.

In the exemplary embodiment shown in FIGS. 5A-5C, if themost-significant bit 510 of the fixed portion 508 of the length field504 is set to a second predetermined value (for example, a logical valueof “0”), then the length field 504 comprises a variable portion 514 thatfollows the fixed portion 508. In this case, the length of the valuefield 506 of the corresponding triplet 500 is stored in the variableportion 514 of the length field 504. Also, in this case, the remainingbits 512 of the fixed portion 508 of the length field 504 are used tostore the length of the variable portion 514 of the length field 504. Asnoted above, in this example where the fixed portion 508 of the lengthfield 504 comprises 8 bits, the remaining bits 512 of the fixed portion508 of the length field 504 can store values of up to 127, which in thisexample corresponds to a variable portion 514 that is up to 127 byteslong.

FIGS. 5B and 5C illustrate two examples of how the length field 504 ofFIG. 5A can be encoded. In the example shown in FIG. 5B, themost-significant bit 510 of the fixed portion 508 of the length field504 is set to the first predetermined value (that is, a logical “1”value) and the remaining bits 512 of the fixed portion 508 of the lengthfield 504 store a value of “10” (decimal), which indicates that thevalue field 506 of that triplet 500 is 10 bytes long. In this example,the length field 504 does not include a variable portion 514. In theexample shown in FIG. 5C, the most-significant bit 510 of the fixedportion 508 of the length field 504 is set to the second predeterminedvalue (that is, a logical “0” value) and the remaining bits 512 of thefixed portion 508 of the length field 504 store a value of “2”, whichindicates that the variable portion 514 of the length field 504 is 2bytes long. In the example shown in FIG. 5C, a value of “1024” is storedin the variable portion 514 of the length field 504, which indicatesthat the value field 506 of that triplet 500 is 1024 bytes long.

Various bit-level encoding formats can be used to encode the lengths inthe remaining portion 512 of the fixed portion 508 of the length fieldand in the variable portion 514 of the length field (for example, a formof n-bit encoding or another format such as the Basic Encoding Rules(BER) format).

As shown in FIGS. 5A-5C, the value field 506 follows the length field504 and contains the bits that actually contain the item of informationstored in that particular key-length-value triplet 500 (which is alsoreferred to here as the “payload”). The encoding format used to encodesuch payload information in the value field 506 is not limited to anyparticular format. For example, in one implementation it can be encodedusing any encoding format recognized by the software 190 executing onprocessor 106. Thus, in addition to identifying what information isstored in a particular key-length-value triplet 500, the key field 502can further indicate how the payload information is encoded in the valuefield 506. Consequently, the encoding format used to encode payloadinformation in one triplet's value field 506 can be different from theencoding format used to encode payload information in other triplets.Further, when an item of information comprises multiple values, thebytes that make up the content of a triplet's value field 506 canthemselves further include sets of key-length-value triplets. The lengthof the value field 506 can thus be adjusted to the size of the data usedto encode the payload for each particular item of information, whichenables the available memory on storage device 216 to be moreefficiently utilized.

Another benefit of using key-length-value triplets to store informationis that the information no longer needs to be stored in a particularsequence. That is, a triplet's key field does not necessarily indicatethe sequence in which the associated item of information needs to bestored on storage device 216, just what type of item of information aparticular triplet holds. Triplets can be stored in any order. As such,it is not necessary for storage device 216 to store a triplet for everypotentially predefined key in order to keep the software 190 in syncwhen parsing the data read from the storage device 216. For example, ifthe key value of “abc” has been defined to identify a triplet thatstores the results of a particular factory quality test, and that testis not applicable for a given segment of physical media 212, then nokey-length-value triplet with a key of “abc” needs to be stored on thecorresponding storage device 216 just to maintain a certain sequence.Conversely, the software 190 does not need to be programmed withknowledge of every potentially predefined key in order parse theinformation it needs from the values stored on each storage device 216.For example, a newly manufactured segment of physical media 212 canstore one or more items of information having key values not recognized(and not needed or used by) by a connector assembly 102 to which it willbe attached. In some implementations, all triplets that are read from astorage device 216 are forwarded onto the aggregation point 120, even ifthe software 190 executing in connector 102 is not able to recognizesome of the keys in the triplets.

FIG. 6 illustrates one example of how data 600 is stored on a storagedevice using the key-length-value scheme described above in connectionwith FIGS. 5A-5C. In this example, the data 600 stored on the storagedevice 216 comprises one copy of read-only data 602 and two copies ofread-write data 604. In the absence of any errors, the two copies of theread-write data 604 should be the same. The read-only data 602 includesa checksum 606, and each of the two copies of the read-write data 604includes a respective checksum 608. Therefore, after reading all thedata from the storage device 216, the software 190 will have one copy ofthe read-only data 602 (and the checksum 606) and two copies of theread-write data 604 (and the respective checksums 608). More detailsregarding this scheme are described in U.S. patent application Ser. No.______, Attorney Docket No. 100.1176US01, filed on even date herewithand titled “DOUBLE-BUFFER INSERTION COUNT STORED IN A DEVICE ATTACHED TOA PHYSICAL LAYER MEDIUM”.

The read-only data 602 contains multiple key-length-value triplets 610and 612. In this example, the first key-length-value triplet 610 in theread-only data 602 contains a predetermined value in its key field. Thefirst key-length-value triplet 610 indicates that this triplet is indeedthe first triplet 610 and indicates that this data is the read-only data602. The length field of the first key-length triplet 610 encodes thelength of the value field of the first key-length-value triplet 610 inthe manner described above in connection with FIGS. 5A-5C. The valuefield of the first key-length-value triplet 610 of the read-only data602 contains the length of the read-only data 602. For example, wherethe read-only data 602 is 8192 bytes long, the value field of the firstkey-length value triplet 610 would contain the value “8192”.

Likewise, each of the copies of the read-write data 604 containsmultiple key-length-value triplets 620 and 622. In this example, thefirst key-length-value triplet 620 in each of the copies of theread-write data 604 contains a predetermined value in its key field. Thefirst key-length-value triplet 620 indicates that this triplet is indeedthe first triplet 620 and indicates that this copy of data is a copy ofthe read-write data 604. The length field of the first key-lengthtriplet 620 encodes the length of the value field of the firstkey-length-value triplet 620 in the manner described above in connectionwith FIGS. 5A-5C. The value field of the first key-length-value triplet620 of each copy of the read-write data 604 contains the length of thatcopy of the read-write data 604. For example, where each copy of theread-write data 604 is 3072 bytes long, the value field of the firstkey-length value triplet 620 would contain the value “3072”.

In the exemplary embodiment described here in connection with FIG. 6,the read-only data 602 is stored on the storage device 216 starting at afixed location 630, and each copy of the read-write data 604 is storedon the storage device 216 starting at a respective fixed location 632.The fixed locations 630 and 632 can be assigned in various ways. In oneexample, all three fixed locations 630 and 632 are known a priori by thevarious entities in the system 100 that make use of the key-length-valuetriplets. In another example, the fixed location 630 where the read-onlydata 602 is stored is known a priori by the various entities in thesystem 100 that make use of the key-length-value triplets, and the fixedlocation 632 where each copy of the read-write data 604 is stored isencoded in a respective key-length-value triplet included within theread-only data 602. Other schemes can be used.

When the connector 214 on which the storage device 216 is mounted isinserted into a port 104 of a connector assembly 102, the software 190executing on the programmable processor 106 learns of that fact andreads all of the data 600 stored on the storage device 216. Then, inthis exemplary embodiment, the fixed locations 630 and 632 are used tolocate the beginning of the read-only data 602 and each copy of theread-write data 604, respectively. Then, the length of the read-onlydata 602 stored in the value field of the first key-length-value triplet610 of the read-only data 602 can be used to access the checksum 606,and the length of the read-write data 604 stored in the value field ofthe first key-length-value triplet 620 in each copy of the read-writedata 604 can be used to access the checksums 608. For example, thechecksum 606 for the read-only data 602 can be accessed by using thelength stored in the value field of the first triplet 610 included inthe read-only data 602 as an offset from the fixed location 630 wherethe read-only data 602 starts.

The start of the first copy of the read-write data 604 is located at therespective fixed location 632. The checksum 608 for the first copy ofthe read-write data 604 can be accessed by using the length stored inthe value field of the first triplet 620 included in the first copy ofthe read-write data 604 as an offset from start of the first copy of theread-write data 604 (that is, from the respective fixed location 632).

Likewise, the start of the second copy of the read-write data 604 islocated at the respective fixed location 632. The checksum 608 for thesecond copy of the read-write data 604 can be accessed by using thelength stored in the value field of the first triplet 620 included inthe second copy of the read-write data 604 as an offset from start ofthe second copy of the read-write data 604 (that is, from the respectivefixed location 632).

As just described, the respective fixed locations 630 and 632 can beused to access the start of the read-only data 602 and each copy of theread-write data 604. Each of the key-length-value triplets 610, 612,620, and 622 in the read-only data 602 and each copy of read-write data604 can be accessed using the length values stored in each of the lengthfields of the triplets 610, 612, 620, and 622. Each firstkey-length-value triplet 610 and 620 is the first item in, and islocated at the start of, the read-only data 602 and each copy of theread-write data 604, respectively. The start of the secondkey-length-value triplet 612 and 622 in the read-only data 602 and eachcopy of the read-write data 604, respectively, can be accessed by usingthe length stored in the length field of the respective firstkey-length-value triplet 612 or 622 as an offset from the beginning ofthe read-only data 602 or the copy of read-write data 604, respectively.The start of each successive key-length-value triplet 612 or 622 can beaccessed by using the length stored in the length field of therespective preceding key-length-value triplet 612 or 622 as offset fromthe beginning of the start of that preceding key-length-value triplet612 or 622.

In this way, if the software 190 needs access to a particular item ofinformation for local processing at the connector assembly 102, thesoftware 190 finds the triplet having the corresponding key and decodesthe payload information from the value field of that triplet. Tripletshaving key field values unknown to or unused by the software 190executing at the connector assembly 102 are ignored by the software 190in connection with its local processing and are forwarded to theaggregation point 120 along with all of the triplets read from thestorage device 216. Such an implementation would have the advantage ofonly needing to update the software executing on the aggregation point120 when use of newly defined types of items of information is desired,rather than needing to update the software 190 associated with all ofthe connector assemblies 102 in the system 100.

As another benefit of using key-length-value triplets as describedherein, it is not necessary for the length of the value field used for aparticular item of information to remain static once established. Forexample, if key “0xx” is currently stored in storage device 216 in akey-length-value triplet using a 48-bit long value field, when an updateto that item of information is written back to storage device 216, adifferent length value field (36-bit, or 64-bit, for example) can beused as long as the length field in the key-length-value triplet ismodified accordingly to reflect the new value field length.

In other embodiments, other flexible and variable length storage schemesare used instead of using key-length-value triplets. In some otherimplementations of the embodiment shown in FIG. 2, information about theformat, length, and/or content of the data stored on each storage device216 is included within a header or other predetermined portion of eachstorage device 216. In one such example, each item of information storedon each storage device 216 is stored using one or more fixed-sized datafields or elements. When a connector 214 is inserted into a port 104 ofa connector assembly 102, the software 190 executing on the processor106 associated with that connector assembly 102 reads a field size keyencoded in a header stored in the storage device 216 attached to thatconnector 214. The field size key informs the software 190 of thestructure used to store information in that storage device 216 byproviding the number of bits used for each such fixed data field storedon the storage device 216. As an example of this implementation inoperation, when the field size key indicates a field size of “b” bits,as the software 190 read the data from the storage device 216, thesoftware 190 will know that every sequence of “b” bits received afterthe header represent a different field of data. Knowing the sequence inwhich information is stored, the software 190 can parse the data readfrom the storage device 216 to obtain the values for whatever item ofinformation it needs and/or to send the information to the aggregationpoint 120. To update a particular item of information stored on astorage device 216, in one implementation the software 190 encodes theupdated information for that item back into a “b” bit sequence andoverwrites the appropriate “b” bits on the storage device 216corresponding to that item of information. In another implementation,storage device 216 is updated by re-writing back to storage device 216all of items of information read from the storage device 216, includingany updated items.

For implementations where storage device 216 is divided into a protected“read-only” area and a “writable” area, only information stored in the“writable” area is updated by the software 190. In one implementation,the “read-only” area and “writable” area each have their own respectivefield size keys. Accordingly, having a field size key for the “writable”area that is encoded in a header stored in the “writable” area providesfor a scheme where the connector assembly 102 can store information backto storage device 216 using a data field length of “c” bits that isdifferent from the “b” bits format initially used when the connector 214was plugged into a port 104.

Further details, embodiments, and implementations can be found in thefollowing United States patent applications, all of which are herebyincorporated herein by reference: U.S. Provisional Patent ApplicationSer. No. 61/252,964, filed on Oct. 19, 2009, titled “ELECTRICAL PLUG FORMANAGED CONNECTIVITY”, Attorney Docket No. 02316.3045USP1; U.S.Provisional Patent Application Ser. No. 61/253,208, filed on Oct. 20,2009, titled “ELECTRICAL PLUG FOR MANAGED CONNECTIVITY”, Attorney DocketNo. 02316.3045USP2; U.S. patent application Ser. No. 12/907,724, filedon Oct. 19, 2010, titled “MANAGED ELECTRICAL CONNECTIVITY SYSTEMS”,Attorney Docket No. 02316.3045USU1; U.S. Provisional Patent ApplicationSer. No. 61/303,948, filed on Feb. 12, 2010, titled “PANEL INCLUDINGBLADE FEATURE FOR MANAGED CONNECTIVITY”, Attorney Docket No.02316.3069USP1; U.S. Provisional Patent Application Ser. No. 61/413,844,filed on Nov. 15, 2010, titled “COMMUNICATIONS BLADED PANEL SYSTEMS”,Attorney Docket No. 02316.3069USP2; U.S. Provisional Patent ApplicationSer. No. 61/439,693, filed on Feb. 4, 2011, titled “COMMUNICATIONSBLADED PANEL SYSTEMS”, Attorney Docket No. 02316.3069USP3; U.S. patentapplication Ser. No. 13/025,730, filed on Feb. 11, 2011, titled“COMMUNICATIONS BLADED PANEL SYSTEMS”, Attorney Docket No.02316.3069USU1; U.S. patent application Ser. No. 13/025,737, filed onFeb. 11, 2011, titled “COMMUNICATIONS BLADED PANEL SYSTEMS”, AttorneyDocket No. 02316.3069USU2; U.S. patent application Ser. No. 13/025,743,filed on Feb. 11, 2011, titled “COMMUNICATIONS BLADED PANEL SYSTEMS”,Attorney Docket No. 02316.3069USU3; U.S. patent application Ser. No.13/025,750, filed on Feb. 11, 2011, titled “COMMUNICATIONS BLADED PANELSYSTEMS”, Attorney Docket No. 02316.3069USU4; U.S. Provisional PatentApplication Ser. No. 61/303,961; filed on Feb. 12, 2010, titled “FiberPlug And Adapter For Managed Connectivity”, Attorney Docket No.02316.3071USP1; U.S. Provisional Patent Application Ser. No. 61/413,828,filed on Nov. 15, 2010, titled “Fiber Plugs And Adapters For ManagedConnectivity”, Attorney Docket No. 02316.3071USP2; U.S. ProvisionalPatent Application Ser. No. 61/437,504, filed on Jan. 28, 2011, titled“Fiber Plugs And Adapters For Managed Connectivity”, Attorney Docket No.02316.3071USP3; U.S. patent application Ser. No. 13/025,784, filed onFeb. 11, 2011, titled “Managed Fiber Connectivity Systems”, AttorneyDocket No. 02316.3071USU1; U.S. patent application Ser. No. 13/025,788,filed on Feb. 11, 2011, titled “Managed Fiber Connectivity Systems”,Attorney Docket No 02316.3071USU2; U.S. patent application Ser. No.13/025,797, filed on Feb. 11, 2011, titled “Managed Fiber ConnectivitySystems”, Attorney Docket No. 02316.3071USU3; U.S. patent applicationSer. No. 13/025,841, filed on Feb. 11, 2011, titled “Managed FiberConnectivity Systems”, Attorney Docket No. 02316.3071USU4; U.S.Provisional Patent Application Ser. No. 61/413,856, filed on Nov. 15,2010, titled “CABLE MANAGEMENT IN RACK SYSTEMS”, Attorney Docket No.02316.3090USP1; U.S. Provisional Patent Application Ser. No. 61/466,696,filed on Mar. 23, 2011, titled “CABLE MANAGEMENT IN RACK SYSTEMS”,Attorney Docket No. 02316.3090USP2; U.S. Provisional Patent ApplicationSer. No. 61/252,395, filed on Oct. 16, 2009, titled “MANAGEDCONNECTIVITY IN ELECTRICAL SYSTEMS”, Attorney Docket No. 02316.3021USP1;U.S. patent application Ser. No. 12/905,689, filed on Oct. 15, 2010,titled “MANAGED CONNECTIVITY IN ELECTRICAL SYSTEMS”, Attorney Docket No.02316.3021USU1; U.S. Provisional Patent Application Ser. No. 61/252,386,filed on Oct. 16, 2009, titled “MANAGED CONNECTIVITY IN FIBER OPTICSYSTEMS”, Attorney Docket No. 02316.3020USP1; and U.S. patentapplication Ser. No. 12/905,658, filed on Oct. 15, 2010, titled “MANAGEDCONNECTIVITY IN FIBER OPTIC SYSTEMS”, Attorney Docket No.02316.3020USU1.

A number of embodiments of the invention defined by the following claimshave been described. Nevertheless, it will be understood that variousmodifications to the described embodiments may be made without departingfrom the spirit and scope of the claimed invention. Accordingly, otherembodiments are within the scope of the following claims.

1. A segment of physical communication media, the segment comprising: aphysical communication medium; a connector attached to the physicalcommunication medium; and a storage device configured to storeinformation therein using a self-defining variable length data fieldscheme.
 2. The segment of claim 1, wherein the storage device isconfigured to have a header stored thereon, the header having codedtherein at least one field size key that indicates a size of a fieldused to store at least some of the information.
 3. The segment of claim2, wherein the storage device is configured to have encoded thereon afirst field size key that indicates a size of a field used to store afirst portion of the information in a read-only section of the storagedevice; and a second field size key that indicates a size of a fieldused to store at a second portion of the information in a writablesection of the storage device.
 4. The segment of claim 1, wherein theconnector includes a first interface for communicating data through thephysical communication medium, and a second interface separate from thefirst interface for accessing the storage device.
 5. The segment ofclaim 1, wherein the information comprises a plurality of items ofinformation, and wherein the plurality of items of information arestored on the storage device using a plurality of key-length-valuetriplets.
 6. The segment of claim 5, wherein each item of information ofthe plurality of items of information is stored in an associatedkey-length-value triplet of the plurality of key-length-value triplets.7. The segment of claim 5, wherein each key-length-value triplet of theplurality of key-length-value triplets comprises: a respective keyfield; a respective length field; and a respective value field; whereineach key field includes a respective key that identifies a respectiveitem of information encoded in the value field; and wherein each lengthfield specifies a respective data length for the respective item ofinformation encoded in the value field.
 8. The segment of claim 7,wherein, for at least one of the plurality of key-length-value triplets,the value field stores one or more key-length-value triplets.
 9. Thesegment of claim 7, wherein for at least one key-length-value triplet,the respective key further identifies an encoding method used to encodethe respective item of information encoded in the respective valuefield.
 10. The segment of claim 7, wherein for at least onekey-length-value triplet, the respective key further identifies adecoding method to use to decode the respective item of information fromthe respective value field.
 11. The segment of claim 1, wherein thestorage device is integral to the connector.
 12. The segment of claim 1,wherein the information stored in the storage device comprisesinformation about at least one of the connector, the physicalcommunication medium, the storage device, and the segment of physicalcommunication media.
 13. The segment of claim 12, wherein theinformation stored in the storage device comprises informationindicative of an identifier associated with at least one of theconnector, the physical communication medium, the storage device, andthe segment of physical communication media.
 14. The segment of claim12, wherein the information stored in the storage device comprisesinformation indicative of an attribute associated with at least one ofthe connector, the physical communication medium, the storage device,and the segment of physical communication media.
 15. The segment ofclaim 1, wherein the physical communication medium comprises physicalcommunication media.
 16. The segment of claim 15, wherein the physicalcommunication medium comprises at least one of a twisted-paircommunication medium and a fiber optical communication medium.
 17. Thesegment of claim 15, wherein the physical communication medium comprisesat least one of a twisted-pair cable and an optical fiber.
 18. Thesegment of claim 1, wherein the connector comprises at least one of aRJ-45 plug, an SC connector, an LC connector, an FC connector, an LX.5connector, an MTP connector, and an MPO connector.
 19. The segment ofclaim 1, wherein the storage device comprises an Electrically ErasableProgrammable Read-Only Memory (EEPROM).
 20. The segment of claim 1,wherein the storage device comprises a non-volatile memory device.
 21. Aconnector assembly comprising: a plurality of ports, each of theplurality of ports configured to connect to a respective segment ofphysical communication media; a processor configured to read informationstored on or in at least one segment physical communication media thatis connected to at least one of the ports of the connector assembly; andwherein the information is stored in or on the at least one segment ofphysical communication thereon using a self-defining variable lengthdata field scheme.
 22. The connector assembly of claim 21, wherein theprocessor comprises a slave processor and wherein the connector assemblyfurther comprises a master processor that is communicatively coupled tothe slave processor.
 23. The connector assembly of claim 21, wherein theconnector assembly comprises a plurality of slave processors that arecommunicatively coupled to the master processor.
 24. The connectorassembly of claim 21, wherein the connector assembly comprises at leastone of a rack-mounted connector assembly, a wall-mounted connectorassembly, an inter-networking device, a fiber distribution hub (FDH), afiber splice panel, and a fiber termination point.
 25. The connectorassembly of claim 21, wherein the connector assembly comprises at leastone of a patch panel, a distribution unit, a media converter, awall-mounted connector box, wall-mounted jack, wall-mounted outlet, awall-mounted media converter, a switch, a bridge, a router, a hub, arepeater, a gateway, and an access points.
 26. The connector assembly ofclaim 21, wherein each of the ports in the connector assembly comprises:a rear connector, a front connector, and an interface to read theinformation stored on or in physical media inserted into the frontconnector.
 27. The connector assembly of claim 26, wherein the frontconnector comprises a modular jack into which a plug attached to a patchcord is inserted.
 28. The connector assembly of claim 21, wherein eachof the plurality of ports is configured to couple at least two opticalfibers to one another.
 29. The connector assembly of claim 21, whereinthe at least one segment of physical communication media comprises astorage device in which the information is stored.
 30. The connectorassembly of claim 29, wherein the storage device has a header storedthereon, the header having coded therein at least one field size keythat indicates a size of a field used to store at least some of theinformation.
 31. The connector assembly of claim 29, wherein theinformation comprises a plurality of items of information, and whereinthe plurality of items of information are stored in the storage deviceusing a plurality of key-length-value triplets.
 32. A system comprising:a plurality of connector assemblies, each of the connector assembliescomprising a plurality of ports, wherein each of the connectorassemblies is configured to read information stored on or in segments ofphysical communication media that are connected to the ports of therespective connector assembly; and an aggregation point communicativelycoupled to the plurality of connector assemblies, wherein theaggregation point is configured to cause each of the connectorassemblies to send to the aggregation point at least some of theinformation read from the segments of physical communication media thatare connected to the ports of the respective connector assemblies;wherein the aggregation point is configured to store at least some ofthe information sent by the connector assemblies to the aggregationpoint; and wherein the information stored on or in the segments ofphysical communication media is stored in or on the segments of physicalcommunication using a self-defining variable length data field scheme.33. The system of claim 32, wherein each segment of physicalcommunication media comprises a respective storage device in which theinformation is stored.
 34. The system of claim 33, wherein each storagedevice has a header stored thereon, the header having encoded therein atleast one field size key that indicates a size of a field used to storeat least some of the information in that storage device.
 35. The systemof claim 33, wherein the information comprises a plurality of items ofinformation, and wherein the plurality of items of information arestored in each storage device using a plurality of key-length-valuetriplets.
 36. The system of claim 35, wherein each connector assembly isconfigured to communicate to the aggregation point all of thekey-length-value triplets that the connector assembly reads from therespective segments of physical communication media that are connectedto ports associated with that connector assembly regardless of whetherthe key-length-value triplets are used locally at that connectorassembly.
 37. The system of claim 32, wherein the aggregation point isconfigured to provide at least some of the information stored by theaggregation point to at least one other device.
 38. The system of claim37, wherein at least one other device comprises application-layerfunctionality executing on a computer communicatively coupled to theaggregation point.
 39. The system of claim 32, wherein the aggregationpoint comprises middleware that provides an application programminginterface (API) by which an external entity is able to access at leastsome of the information stored by the aggregation point.
 40. The systemof claim 39, wherein the external entity comprises at least one of acomputer executing application-layer software, a network managementsystem, an enterprise management system, and an inter-networking device.41. The system of claim 32, wherein the aggregation point is at leastone of: implemented on a standalone network node; integrated along withother network functionality; distributed across multiple nodes in anetwork; and implemented in a hierarchy of aggregation points.
 42. Thesystem of claim 32, wherein at least one connector assembly isconfigured to read the information stored on or in physicalcommunication media that is connected to the ports of that respectiveconnector assembly from a storage device included in or coupled to thephysical communication media.
 43. The system of claim 42, whereinstorage device comprises non-volatile memory.
 44. The system of claim32, wherein the segments of physical communication media comprises atleast one of a copper patch cord or an optical fiber patch cord.
 45. Thesystem of claim 32, wherein the aggregation point and the connectorassemblies are communicatively coupled to one another over an InternetProtocol network.
 46. A method comprising: determining a field lengthused to store a first item of information on or in a segment of physicalcommunication media by reading data from the segment of physicalcommunication media; and parsing data read from the segment of physicalcommunication media based on the field length in order to identify adata field that stores the first item of information.
 47. The method ofclaim 46, further comprising extracting the item of information from thedata field.
 48. The method of claim 46, wherein the first item ofinformation is stored in a storage device associated with the segment ofphysical communication media.
 49. The method of claim 48, furthercomprising: reading a header stored on the storage device, the headerhaving encoded therein at least one field size key that indicates a sizeof a field used to store at least one item of information.
 50. Themethod of claim 48, wherein a plurality of items of information arestored in the storage device using a plurality of key-length-valuetriplets.
 51. The method of claim 50, further comprising: determiningwhen a first key-length-value triplet of the plurality ofkey-length-value triplets stores the first item of information based ona key stored in a key field of the first key-length-value triplet; anddetermining the field length of a value field used to store the firstitem of information in the first key-length-value triplet based on adata length stored in a length field of the first key-length-valuetriplet.
 52. The method of claim 51, further comprising: decoding thefirst item of information from the value field based on informationprovided by the key stored in the key field.
 53. A program productcomprising a plurality of instructions tangibly stored on anon-transitory processor readable storage medium, wherein the programinstructions, when executed by a programmable processor, are operable tocause the programmable processor to: determine a field length used tostore a first item of information on or in a segment of physicalcommunication media by reading data from the segment of physicalcommunication media; and parse data read from the segment of physicalcommunication media based on the field length in order to identify adata field that stores the first item of information.